总结verilog产生随机数的$random和seed |
您所在的位置:网站首页 › systemverilog random函数 › 总结verilog产生随机数的$random和seed |
$random(seed)是verilog中最简单的产生随机数的系统函数。
在调用系统函数$random(seed)时,可以写成三种样式:1)$random,2)$random(),3)$random(seed)。下面分别说明: 1)$random 这是最简单的一种写法,略去了seed这个传入参数,$random会使用一个默认的seed(这个默认值为0?)。也正因此,每次进行仿真时,$random产生的随机数序列都是相同的。 2)$random() 这种写法和写法1)的作用是相同的,同样是没有给$random传入seed。 3)$random(seed) 这种写法与上面两种不同,给$random传入了参数seed,因此$random根据seed来产生随机数。seed不同,产生的随机数的序列也不同。而且,每执行一次$random(seed)产生一个随机数,seed也自动更新一次。
下面讨论seed的产生。 据我有限的知识,seed有两种产生方式:4)直接赋值为一个确定数,5)利用系统函数$get_initial_random_seed获得值。下面分别讨论: 4)直接赋值 在一个initial块中直接将seed变量写成某值,如下面代码: integer seed; reg [7:0] rand_num; initial begin seed = 0; end always @(posedge clk) begin rand_num |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |